Recording devices that allow a user to capture videos or other audio-visual media content into a digitally encoded format are becoming increasingly widespread. Today, a user can record a video with a smart phone or other device and upload that video to a content hosting website within moments. However, in some cases the user would like to edit the video prior to uploading to the hosting website, such as trimming portions of the video.
While many different encoding formats exist, most smart phones encode video captures according to the MP4 (Motion Pictures Expert Group 4 Part 14) file format, which is a complex format including many hierarchical sample tables and other atoms. As a result, in order to trim (or otherwise edit) data from a video encoded in the MP4 file format, conventional systems will first employ transcoding. Transcoding involves initially parsing the MP4 file and decoding both the audio and video frames to which trimming or other edits on the actual data streams (audio or video) are performed, and then re-encoding and multiplexing those data streams back into MP4 format or into a different file format.
Thus, employing transcoding in order to edit media content is a resource-intensive process that will generally reduce the quality of the media content given the use of lossy compression codecs that are commonplace for audio-visual media content. Furthermore, employing transcoding requires that the editing tool performing the transcoding be equipped with all the necessary codecs. Because some codecs require a licensing/royalty fee, such editing tools can be expensive to distribute. Accordingly, even though many consumer devices provide the capability to capture and upload video, such devices rarely include editing tools to enable a user to modify the video prior to upload. Thus, users who desire to edit their videos prior to upload are typically forced to transfer the media content to other computing systems (e.g., a desktop computer) in order to perform the desired edits or simply upload the media content as-is.